package com.suda.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

/****
 * @Author:zhuyongjie
 * @Description:Order构建
 * @Date 2019/6/14 19:13
 *****/
@Table(name="t_order")
public class Order implements Serializable{

	@Id
    @Column(name = "order_id")
	private String orderId;//订单id

    @Column(name = "package_id")
	private String packageId;//包裹id

	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    @Column(name = "receive_time")
	private Date receiveTime;//收件时间

    @Column(name = "receive_courier_id")
	private String receiveCourierId;//收件员id

    @Column(name = "consignor_id")
	private String consignorId;//寄件客户id

    @Column(name = "consignee_id")
	private String consigneeId;//收件客户id

    @Column(name = "distributer_id")
	private String distributerId;//派件员id

	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    @Column(name = "esti_distri_time")
	private Date estiDistriTime;//预计派件时间
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    @Column(name = "actual_distri_time")
	private Date actualDistriTime;//实际派件时间

    @Column(name = "pay_type")
	private String payType;//支付类型

    @Column(name = "fee")
	private Double fee;//费用

    @Column(name = "pay_status")
	private String payStatus;//支付状态



	//get方法
	public String getOrderId() {
		return orderId;
	}

	//set方法
	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}
	//get方法
	public String getPackageId() {
		return packageId;
	}

	//set方法
	public void setPackageId(String packageId) {
		this.packageId = packageId;
	}
	//get方法
	public Date getReceiveTime() {
		return receiveTime;
	}

	//set方法
	public void setReceiveTime(Date receiveTime) {
		this.receiveTime = receiveTime;
	}
	//get方法
	public String getReceiveCourierId() {
		return receiveCourierId;
	}

	//set方法
	public void setReceiveCourierId(String receiveCourierId) {
		this.receiveCourierId = receiveCourierId;
	}
	//get方法
	public String getConsignorId() {
		return consignorId;
	}

	//set方法
	public void setConsignorId(String consignorId) {
		this.consignorId = consignorId;
	}
	//get方法
	public String getConsigneeId() {
		return consigneeId;
	}

	//set方法
	public void setConsigneeId(String consigneeId) {
		this.consigneeId = consigneeId;
	}
	//get方法
	public String getDistributerId() {
		return distributerId;
	}

	//set方法
	public void setDistributerId(String distributerId) {
		this.distributerId = distributerId;
	}
	//get方法
	public Date getEstiDistriTime() {
		return estiDistriTime;
	}

	//set方法
	public void setEstiDistriTime(Date estiDistriTime) {
		this.estiDistriTime = estiDistriTime;
	}
	//get方法
	public Date getActualDistriTime() {
		return actualDistriTime;
	}

	//set方法
	public void setActualDistriTime(Date actualDistriTime) {
		this.actualDistriTime = actualDistriTime;
	}
	//get方法
	public String getPayType() {
		return payType;
	}

	//set方法
	public void setPayType(String payType) {
		this.payType = payType;
	}
	//get方法
	public Double getFee() {
		return fee;
	}

	//set方法
	public void setFee(Double fee) {
		this.fee = fee;
	}
	//get方法
	public String getPayStatus() {
		return payStatus;
	}

	//set方法
	public void setPayStatus(String payStatus) {
		this.payStatus = payStatus;
	}

	@Override
	public String toString() {
		return "Order{" +
				"orderId='" + orderId + '\'' +
				", packageId='" + packageId + '\'' +
				", receiveTime=" + receiveTime +
				", receiveCourierId='" + receiveCourierId + '\'' +
				", consignorId='" + consignorId + '\'' +
				", consigneeId='" + consigneeId + '\'' +
				", distributerId='" + distributerId + '\'' +
				", estiDistriTime=" + estiDistriTime +
				", actualDistriTime=" + actualDistriTime +
				", payType='" + payType + '\'' +
				", fee=" + fee +
				", payStatus='" + payStatus + '\'' +
				'}';
	}
}
